load("@fbcode//quic:defs.bzl", "mvfst_cpp_library")

oncall("traffic_protocols")

mvfst_cpp_library(
    name = "fizz_client_handshake",
    srcs = [
        "FizzClientHandshake.cpp",
        "FizzClientQuicHandshakeContext.cpp",
    ],
    headers = [
        "FizzClientExtensions.h",
        "FizzClientHandshake.h",
        "FizzClientQuicHandshakeContext.h",
    ],
    deps = [
        "//fizz/client:early_data_rejection",
        "//fizz/protocol:exporter",
        "//fizz/protocol:protocol",
        "//quic/codec:pktbuilder",
    ],
    exported_deps = [
        ":psk_cache",
        "//fizz/client:actions",
        "//fizz/client:async_fizz_client",
        "//fizz/client:client_extensions",
        "//fizz/client:ech_policy",
        "//fizz/client:fizz_client_context",
        "//fizz/client:protocol",
        "//fizz/protocol:default_certificate_verifier",
        "//quic/client:client_extension",
        "//quic/client:state_and_handshake",
        "//quic/fizz/handshake:fizz_handshake",
    ],
)

mvfst_cpp_library(
    name = "psk_cache",
    headers = [
        "QuicPskCache.h",
    ],
    exported_deps = [
        "//fizz/client:psk_cache",
        "//quic/client:cached_server_tp",
        "//quic/common:optional",
    ],
)

mvfst_cpp_library(
    name = "token_cache",
    headers = [
        "QuicTokenCache.h",
    ],
    exported_deps = [
        "//folly:string",
        "//quic/common:optional",
    ],
)
